from typing import Dict, Tuple


# 单位：DEF 数据库单位（dbu）
dbu_per_micron: int = 1000
# DIEAREA
die_lx: int = 0
die_ly: int = 0
die_ux: int = 0
die_uy: int = 0
# 宏尺寸（微米）
macros_um: Dict[str, Tuple[float, float]] = {}
# LEF 的 CLASS 信息：用于区分宏单元（BLOCK/PAD 等）与标准单元（CORE/ENDCAP/SPACER 等）
macros_class: Dict[str, str] = {}
# 实例：name -> {macro, x, y, orient, placed(bool), fixed(bool)}（坐标为 dbu）
insts: Dict[str, Dict] = {}

# 连接：net 名称 -> 关联实例名称列表（仅用于拥塞估算，位置取实例中心近似引脚）
nets: Dict[str, list] = {}

# 顶层引脚：pin 名称 -> {x, y, orient, placed}
pins: Dict[str, Dict] = {}
